import Vue from 'vue'
import { Message } from 'element-ui'
// 注册一个下载文件的自定义组件
Vue.directive('downLoadUrl', {
  bind(el, binding) {
    el.addEventListener('click', () => {
      if (!binding.value) {
        Message.error('下载地址不存在')
        return
      }
      const a = document.createElement('a')
      //   let url = baseUrl + binding.value // 若是不完整的url则需要拼接baseURL
      const url = binding.value[0] === '/' ? binding.value : '/' + binding.value// 完整的url则直接使用
      // 这里是将url转成blob地址，
      fetch(baseUrl + url).then(res => res.blob()).then(blob => { // 将链接地址字符内容转变成blob地址
        a.href = URL.createObjectURL(blob)
        // a.download = '' // 下载文件的名字
        a.download = url.split('/')[url.split('/').length - 1] //  // 下载文件的名字
        document.body.appendChild(a)
        a.click()
      })
    })
  }
})
